<?php

/**
 * Platform Factory
 * @package Platnik 
 */
interface Platform_Factory_Interface
{
	/** 
	 * Extend one resource with another as long as they subscribe to the same contract
	 * @param string $original name of the resource to replace
	 * @param string $replacement name of the resource acting in its place
	 * @return true|false whether this operation succeeded
	 * @throws platform_resource_exception stating why this could not be completed
	 */
	public function retool( $original, $replacement );
	
	
	/**
	 * Construct class library
	 * @param string $name name of the class to load
	 * @return Object reference to class
	 */
	public function construct( $name );
	
	
}
